-- 创建带错误处理的自动命令
local function safe_autocmd(group, event, opts)
    local ok, err = pcall(vim.api.nvim_create_autocmd, event, opts)
    if not ok then
        vim.notify(string.format("创建自动命令 %s 失败: %s", event, err), vim.log.levels.WARN)
    end
    return ok
end

-- 自动重新加载文件配置
safe_autocmd("BufAutoCmds", { "BufEnter", "FocusGained" }, {
    pattern = "*",
    callback = function()
        local ok, err = pcall(vim.cmd, "checktime")
        if not ok then
            vim.notify("检查文件时间失败: " .. err, vim.log.levels.WARN)
        end
    end,
})

-- 当文件在外部被修改时，显示提示信息
safe_autocmd("FileChangeCmds", "FileChangedShellPost", {
    pattern = "*",
    callback = function()
        vim.notify("当前文件有更新，已自动加载最新内容", vim.log.levels.INFO)
    end,
})
